package sv.ues.fia.activities;

import java.util.List;

import sv.ues.fia.R;
import sv.ues.fia.bdcontrol.ControlBDHelper;
import sv.ues.fia.clases.MyDateFormat;
import sv.ues.fia.entity.Defensa;
import sv.ues.fia.entity.Etapa;
import sv.ues.fia.entity.TrabajoGraduacion;
import sv.ues.fia.entity.Ubicacion;
import sv.ues.fia.session.UsuarioActual;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;

public class DefensaUpdateActivity  extends Activity{
	
	ControlBDHelper dbHelper;

	@Override
	public void onCreate(Bundle saved) {
		super.onCreate(saved);
		
		dbHelper = new ControlBDHelper(this);
		
		Defensa defRecibido = (Defensa)UsuarioActual.getOBJECT();
		
		// Listas para los espinner
		List<TrabajoGraduacion> listTG= null;
		List<Etapa> listEtapa=null;
		List<Ubicacion> listUbicacion= null;
		
		setContentView(R.layout.activity_defensa_modificar);
		
		Button btnUpdate = (Button) findViewById(R.id.btnUpdateDefensa);
		final EditText idDefensa = (EditText) findViewById(R.id.idDefensa);
		final Spinner tipoTG = (Spinner) findViewById(R.id.spinnerIdTGDefensa);
		final Spinner tipoEtapa = (Spinner) findViewById(R.id.spinnerIdEtapaDefensa);
		final Spinner tipoUbicacion = (Spinner) findViewById(R.id.spinnerIdUbicaDefensa);
		final EditText obsDefensa = (EditText) findViewById(R.id.edtObsDefensa);
		final DatePicker dateDefensa = (DatePicker) findViewById(R.id.dateDefensa);
		
		TextView actualTG = (TextView)findViewById(R.id.actualIdTGDefensa);
		TextView actualEtapa = (TextView)findViewById(R.id.actualIdEtapaDefensa);
		TextView actualUbicacion = (TextView)findViewById(R.id.actualIdUbicaDefensa);
		TextView actualDate = (TextView)findViewById(R.id.actualFechaDefensa);
		
		String previusLabel = DefensaUpdateActivity.this.getString(R.string.previus);
		idDefensa.setText(String.valueOf(defRecibido.getIdDefensa()));
		obsDefensa.setText(defRecibido.getObsDefensa());
		actualTG.setText(previusLabel+" "+defRecibido.getIdTG());
		actualEtapa.setText(previusLabel+" "+defRecibido.getIdEtapa());
		actualUbicacion.setText(previusLabel+" "+defRecibido.getIdUbicacion());
		actualDate.setText(previusLabel+" "+defRecibido.getFechaDefensa());
		
		//Llenar los spinners 
		/** CONSULTAR BD PARA LLENAR ESPINNERS **/
		dbHelper.abrir();
			listTG=dbHelper.consultarTG("", "");
			listEtapa=dbHelper.consultarEtapa("", "");
			listUbicacion= dbHelper.consultarUbicacion("");
		dbHelper.cerrar();
		
		//setear los spinners en los views
		ArrayAdapter<TrabajoGraduacion> spinnerTGAdapter = new ArrayAdapter<TrabajoGraduacion>(this,android.R.layout.simple_spinner_dropdown_item, listTG);
		tipoTG.setAdapter(spinnerTGAdapter);
		ArrayAdapter<Etapa> spinnerEtapaAdapter = new ArrayAdapter<Etapa>(this,android.R.layout.simple_spinner_dropdown_item, listEtapa);
		tipoEtapa.setAdapter(spinnerEtapaAdapter);
		ArrayAdapter<Ubicacion> spinnerUbicacionAdapter = new ArrayAdapter<Ubicacion>(this,android.R.layout.simple_spinner_dropdown_item, listUbicacion);
		tipoUbicacion.setAdapter(spinnerUbicacionAdapter);
		
		btnUpdate.setOnClickListener(new View.OnClickListener() {
			
			@Override
			public void onClick(View v) {
				
				int day = dateDefensa.getDayOfMonth();
				int month = dateDefensa.getMonth();
				int year = dateDefensa.getYear();

				String formatedDate = MyDateFormat.formatDate(year, month, day);
				TrabajoGraduacion selectedTG = (TrabajoGraduacion) tipoTG.getSelectedItem();
				Etapa selectedEtapa = (Etapa) tipoEtapa.getSelectedItem();
				Ubicacion selectedUbicacion = (Ubicacion) tipoUbicacion.getSelectedItem();
				
				Defensa oldDefensa = new Defensa();
				oldDefensa.setIdDefensa(Integer.parseInt(idDefensa.getText().toString()));
				oldDefensa.setIdUbicacion(selectedUbicacion.getIdUbicacion());
				oldDefensa.setIdEtapa(selectedEtapa.getIdEtapa());
				oldDefensa.setIdTG(selectedTG.getIdTG());
				oldDefensa.setObsDefensa(obsDefensa.getText().toString());
				oldDefensa.setFechaDefensa(formatedDate);
				
				
				dbHelper.abrir();
				Toast.makeText(DefensaUpdateActivity.this, dbHelper.modificarDefensa(oldDefensa),
						Toast.LENGTH_SHORT).show();
				dbHelper.cerrar();
				UsuarioActual.setOBJECT(null);
				DefensaUpdateActivity.this.finish();
				
				
			}
});
	}

}
